package cn.iocoder.yudao.module.promotion.controller.admin.prizedraw.vo;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 抽奖设置商品批次
 * </p>
 *
 * @author TangShuHan
 * @since 2024-06-20 14:35:00
 */
@Getter
@Setter
@TableName("prize_draw_setting_batch")
public class PrizeDrawSettingBatchDto implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 抽奖设置商品批次ID
     */
    @Schema(description = "抽奖设置商品批次ID")
    private Long prizeDrawSettingBatchId;

    /**
     * 批次名称
     */
    @Schema(description = "批次名称")
    private String batchName;

    /**
     * 可获得抽奖次数时间开始
     */
    @Schema(description = "可获得抽奖次数时间开始")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date batchBegin;

    /**
     * 可获得抽奖次数时间结束
     */
    @Schema(description = "可获得抽奖次数时间结束")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date batchEnd;

    /**
     * 下单获得次数类型（1：同一订单，2：同一用户，3：同一商品）
     */
    @Schema(description = "下单获得次数类型（1：同一订单，2：同一用户，3：同一商品）")
    private Integer orderType;

    /**
     * 商品IDS
     */
    @Schema(description = "商品IDS")
    private List<Long> productIds;

}
